package com.lkd.controller;

import com.lkd.dto.SkuClassDto;
import com.lkd.entity.SkuClass;
import com.lkd.service.ISkuClassService;
import com.lkd.vo.PageBean;
import com.lkd.vo.Result;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*;

/**
 * ClassName: SkuClassController
 * Package: com.lkd.controller
 * Description:
 *
 * @Author zt
 * @Create 2025/10/9 19:44
 * @Version 1.0
 */
@RestController
@RequiredArgsConstructor
@RequestMapping("/api/vm-service/skuClass")
public class SkuClassController {

    private final ISkuClassService skuClassService;

    /**
     *新增分类
     */
    @PostMapping
    public Result save(@RequestBody SkuClass skuClass) {
        skuClassService.save(skuClass);
        return Result.success();
    }

    /**
     * 分类搜索
     */
    @GetMapping("/search")
    public Result search(SkuClassDto skuClassDto) {
        PageBean<SkuClass> pageBean = skuClassService.search(skuClassDto);
        return Result.success(pageBean);
    }

    /**
     * 获取分类基本信息
     */
    @GetMapping("/{classId}")
    public Result getSkuClassInfo(@PathVariable String classId) {
        SkuClass result = skuClassService.getById(classId);
        return Result.success(result);
    }

    /**
     * 修改分类
     */
    @PutMapping
    public Result updateSkuClass(@RequestBody SkuClass skuClass) {
        boolean result = skuClassService.updateById(skuClass);
        if (result) {
            return Result.success();
        } else {
            return Result.error("修改分类信息失败");
        }
    }

    /**
     * 删除分类
     */
    @DeleteMapping("/{classId}")
    public Result deleteSkuClass(@PathVariable Integer classId){
        //因为删除商品类别（属于“一”的一方），也就是在该商品类别下还有商品信息
        //需要进行逻辑判断
        skuClassService.deleteById(classId);
        return Result.success();
    }
}
